'use strict';
/**
 * 临时素材管理
 * @param  {[type]} app      [description]
 * @param  {[type]} settings [description]
 * @return {[type]}          [description]
 */
module.exports = function(app, settings) {
	var debug = require('debug')('qywx-api'),
		express = require('express'),
		util = require('util'),
		url = require('url'),
		QywxAPI = require('../utils/QywxAPI')();
	var router = express.Router();

	/**
    * [post 上传临时素材]
    * 参数	必须	说明
  			type	是	媒体文件类型，分别有图片（image）、语音（voice）、视频（video），普通文件(file)
  			media	是	form-data中媒体文件标识，有filename、filelength、content-type等信息
    */
	router.post('/upload', function(req, res) {
			let accessToken = res.locals.account.accessToken;
			let type = req.body.type;
			let media = req.body.media;

			QywxAPI.uploadMedia(accessToken, type, media, function(err, data) {
				if (err) {
					return res.status(500).json({
						success: false,
						errCode: 500,
						errMsg: err.message
					});
				}
				return res.status(200).json({
					success: true,
					data: data
				});
			});
		})
	/**
    * [get 获取临时素材]
				参数					必须	说明
				access_token	是		调用接口凭证
				media_id			是		媒体文件id
    */
	router.get('/get', (req, res) => {

		let accessToken = res.locals.account.accessToken;
		let media_id = req.query.media_id;

		QywxAPI.getMedia(accessToken, media_id, function(err, data) {
			if (err) {
				return res.status(500).json({
					success: false,
					errCode: 500,
					errMsg: err.message
				});
			}
			return res.status(200).json({
				success: true,
				data: data
			});
		});


	})


	app.use('/media', router);
}
